#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
桌面视频拆分工具启动脚本
简化的启动入口，自动检测环境并选择最佳运行模式
"""

import sys
import os
from pathlib import Path

# 添加当前目录到Python路径
current_dir = Path(__file__).parent
sys.path.insert(0, str(current_dir))

def check_dependencies():
    """检查依赖项"""
    missing_deps = []
    
    # 检查必需的依赖
    try:
        import subprocess
        # 检查FFmpeg
        result = subprocess.run(['ffmpeg', '-version'], 
                              capture_output=True, text=True)
        if result.returncode != 0:
            missing_deps.append('FFmpeg')
    except FileNotFoundError:
        missing_deps.append('FFmpeg')
    
    # 检查可选的GUI依赖
    gui_available = True
    try:
        import tkinter
    except ImportError:
        gui_available = False
    
    return missing_deps, gui_available

def print_usage():
    """打印使用说明"""
    print("桌面视频拆分工具")
    print("=" * 50)
    print()
    print("使用方法：")
    print("1. GUI模式（推荐）：")
    print("   python run_desktop_splitter.py --gui")
    print()
    print("2. 命令行模式：")
    print("   python run_desktop_splitter.py --video video.mp4 --splits 30 60 90")
    print()
    print("3. 交互模式：")
    print("   python run_desktop_splitter.py")
    print()
    print("参数说明：")
    print("  --gui                启动图形界面")
    print("  --video FILE         指定视频文件")
    print("  --splits TIME...     拆分时间点（秒或时:分:秒格式）")
    print("  --output DIR         输出目录")
    print("  --project FILE       项目文件")
    print()
    print("示例：")
    print("  python run_desktop_splitter.py --gui")
    print("  python run_desktop_splitter.py --video movie.mp4 --splits 1:30 3:45 5:20")
    print("  python run_desktop_splitter.py --video movie.mp4 --splits 90 225 320 --output ./output")

def main():
    """主函数"""
    # 检查依赖
    missing_deps, gui_available = check_dependencies()
    
    if missing_deps:
        print("错误：缺少必需的依赖项：")
        for dep in missing_deps:
            print(f"  - {dep}")
        print()
        if 'FFmpeg' in missing_deps:
            print("请安装FFmpeg：")
            print("  Windows: 下载 https://ffmpeg.org/download.html")
            print("  macOS: brew install ffmpeg")
            print("  Ubuntu: sudo apt install ffmpeg")
        return 1
    
    # 如果没有参数，显示使用说明
    if len(sys.argv) == 1:
        print_usage()
        print()
        
        if gui_available:
            response = input("是否启动图形界面？(y/n): ").strip().lower()
            if response in ['y', 'yes', '是', '']:
                sys.argv.append('--gui')
            else:
                print("进入交互模式...")
        else:
            print("GUI不可用，进入交互模式...")
    
    # 检查GUI参数
    if '--gui' in sys.argv and not gui_available:
        print("警告：GUI组件不可用，将使用命令行模式")
        sys.argv.remove('--gui')
    
    # 导入并运行主程序
    try:
        from desktop_video_splitter import main as desktop_main
        return desktop_main()
    except ImportError as e:
        print(f"错误：无法导入桌面视频拆分工具：{e}")
        print("请确保所有必需的文件都在当前目录中")
        return 1
    except Exception as e:
        print(f"运行时错误：{e}")
        return 1

if __name__ == '__main__':
    sys.exit(main())